Digital still cameras and many similar CCD or CMOS sensor devices have gained significant popularity in recent years. However, the digital images that these devices take are often affected by impulse noise during their image acquisition or transmission processes. For example, impulse noise can lead to instances in which pixels of the image are dead (i.e. a pixel is always dark), hot (i.e. a pixel is always white), or hopping (i.e. a pixel flickers or stutters). These unwanted effects lead to the desire for impulse noise removal to suppress the corresponding noise while preserving the integrity of the image edge and detail information.
Traditionally, a number of methods have been used to remove impulse noise, with these methods focusing on both nonlinear removal techniques and linear removal techniques. Nonlinear removal techniques, however, have demonstrated better results in comparison with linear methods. A nonlinear removal method, such as the use of a simple median filter, has demonstrated proficiency in the removal of impulse noise. However, because nonlinear removal approaches, such as the use of a median filter, are typically implemented uniformly across an image, these approaches also tend to modify pixels that are undisturbed by noise. Consequently, the effective removal of impulses using these nonlinear removal methods is often at the expense of blurred and distorted image features.
Various techniques have been developed to perform the noise removal and also reduce the undesirable artifacts. For example, U.S. Pat. No. 7,369,165 (“'165 patent”) discusses a noise filter based on Bayer pattern image with noise level computation. The filter used in the '165 patent is concentrated on a Gaussian noise type, which is not ideal for an impulse noise type. The filter in the '165 patent also requires a high allotment of memory and an implementation with a back-end processor, which ultimately leads to excessive and impractical hardware costs. U.S. Pat. No. 6,229,578 (“'578 patent”), which implements a noise-removal algorithm, is similarly not suitable for software implementation because of the required complex calculation and high memory cost. The '578 patent invention also uses a filter that has threshold values that are not adaptively generated, which also limits its usage in different light conditions.
Since the existing techniques involve complex hardware structures and do not reduce the undesirable artifacts effectively, there is a need to develop a novel method to reduce complexity of hardware structures and reduce undesirable artifacts. There also remains a need for a system and method for impulse noise removal to be adaptive to different applications and light conditions.